#include <utility> // for std::forward  
#include <iostream>  
using namespace std;
  
void process(int& x) {  
    std::cout << "lvalue: " << x << std::endl;  
}  
  
void process(int&& x) {  
    std::cout << "rvalue: " << x << std::endl;  
}  
  
template<typename T>  
void wrapper(T&& arg) {  
    // 使用 std::forward 完美转发参数
    arg++;  
    process(std::forward<T>(arg));  
}  
  
int main() {  
    int a = 5;  
    wrapper(a); // 调用 process(int&)  
    cout << a << endl;  
    return 0;  
}